package br.com.gsh.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import br.com.gsh.conexao.ConexaoFactory;
import br.com.gsh.pojo.Seguidor;

public class SeguidorDao {
	
	private Connection connection;

	public SeguidorDao() {
		this.connection = new ConexaoFactory().getConexao();
	}
	
	public void adiciona(Seguidor seguidor) throws SQLException {

		String sql = "insert into seguidor (id_usuario, id_seguidor) values (?, ?)";
		PreparedStatement ps = connection.prepareStatement(sql);

		ps.setInt(1, seguidor.getIdUsuario());
		ps.setInt(2, seguidor.getIdSeguidor());

		ps.execute();
		ps.close();

	}
	
	public List<Seguidor> listar() throws SQLException {

		String sql = "select * from seguidor order by id";
		PreparedStatement ps = connection.prepareStatement(sql);
		ResultSet rs = ps.executeQuery();

		List<Seguidor> listSegui = new ArrayList<Seguidor>();
		Seguidor seguidor = null;
		while (rs.next()) {

			seguidor = new Seguidor();
			seguidor.setId(rs.getInt("id"));
			seguidor.setIdUsuario(rs.getInt("id_usuario"));
			seguidor.setIdSeguidor(rs.getInt("id_seguidor"));

			listSegui.add(seguidor);

		}

		ps.execute();
		ps.close();

		return listSegui;

	}
	
	public void remove(Seguidor seguidor) throws SQLException {

		String sql = "delete from seguidor where id = ?";
		PreparedStatement ps = connection.prepareStatement(sql);

		ps.setInt(1, seguidor.getId());

		ps.execute();
		ps.close();

	}

}
